/***********************************************************
 * Product Name: ExcelQuicker
 * Copyright (c)2005, Eunge
 * Author: Eunge
 * Web Site: www.eudev.net
 * Mail/MSN: eudev.net@yeah.net
 * ********************************************************/
namespace ExcelQuicker.Framework
{
	/// <summary>
	/// The chart of pivot table. In theory, it can support all types provided by Excel COM Interface by setting Excel.XlChartType enum to ChartType attribute.
	/// But some type cannot be supported by Excel.COM Interface, etc xlStockHLC.
	/// </summary>
	/// <example>
	/// <br>//Now we create a chart on specialized pivot table object.</br>
	/// <br>objEQPivotTable.Chart = new EQPivotChart();</br>
	/// <br>objEQPivotTable.Chart.ChartType = Excel.XlChartType.xlConeBarClustered;	//Set chart type</br>
	/// <br>objEQPivotTable.Chart.Top = 3;</br>
	/// <br>objEQPivotTable.Chart.Left = 9;</br>
	/// </example>
	public class EQPivotChart: EQChart 
	{
		/// <summary>
		/// Initialize object
		/// </summary>
		public EQPivotChart()
		{
		}

		/// <summary>
		/// Set/Get chart type
		/// </summary>
		public new Excel.XlChartType ChartType
		{
			get
			{
				return base.ChartType; 
			}
			set
			{
				base.ChartType = value;
			}
		}

		/// <summary>
		/// Output current object to excel document
		/// </summary>
		/// <param name="objWorksheet"></param>
		protected internal override void Output(Excel.Worksheet objWorksheet)
		{
			this.DoBeforeOperationEvent(objWorksheet);

			Excel.Chart objChart = base.InitializeChart(objWorksheet);
			base.Output(objWorksheet);

			this.DoAfterOperationEvent(objWorksheet);
		}
	}
}
